Host based printing, also referred to as "sleek" printing, is the concept of using the personal computers central processing unit (CPU) to render the printed image and send the rasterized image to the page printer. Currently there are two categories of printing systems, intelligent and dumb. The dumb category is the host based, or sleek, approach. The intelligent category differs in that it sends a mixture of rendered and non-rendered to the printer. It is similar to the concept of page description language (PDL) page printers like the Hewlett-Packard PCL page printers, in that the data sent across the I/O channel needs to be processed and rendered by the printer. A dumb printer only has to deal with placing an already rasterized image on paper, whereas the intelligent printer requires additional technology in the printer such as additional memory and processing power, to form the page for printing before starting the printing process.
Intelligent laser printers receive data to be printed from a host computer in the form of a control language over a standard interface. The control language data stream includes print function commands with interspersed print data. The laser printer responds by converting the received data stream into a list of simple commands, called display commands which describe what must be printed. The printer processes the display commands and renders the described objects into a raster bit map. This procedure generally requires a full page raster bit map memory, as the same memory is used for succeeding pages.
The use of control Languages to enable data transfers between host computers and laser printers is widespread and must be accommodated on a commercial laser printer if that printer is to appeal to a large customer base. Such control language data is transferred to the laser printer over a standard, input/output (I/O) interface that exhibits a rather slow data transfer rate. Using that interface, a laser printer converts an incoming command language data stream into a "page intermediate" form (consisting of display commands) which is then converted to raster image data. The raster image data conversion process causes the intermediate page representation to be divided into a number of strips, with groups of the strips being sequentially processed to raster pixel data (video data for the print engine). The print engine is only started after an initial group of strips have been converted to raster pixel data. At this time the laser print engine prints the data and continues at a fixed speed, until all strips have been printed. If new rasterized data is not available at a rate that keeps up with the print engine's operation, a print "overrun" occurs and the page is not printable. As a result, considerable time is lost due to the substantial preprocessing which must occur before the print engine is started.
Some page printers employ a high speed page printing technique termed the "Sleek" mode that avoids the substantial preprocessing that occurs when print data is transferred using a print control language. In the Sleek mode, the host computer converts user input data into a full raster pixel image and then feeds that raster image as pixel data, over an interface at a high data transfer rate. Certain prior art page printers employ a separate video port that accepts video raster image data at a multi-megabit per second rate. While such printers provide highly efficient print rates, the costs inherent in the separate video ports on both the printer and the host and circuitry for handling data over those ports adds substantially to the system's cost. Nevertheless, the Sleek mode may enable a substantial increase in print speed of a laser page printer.
The most popular sleek printing system for personal desktop computers allows complete host computer control over a printed page. In this sleek printing system, the host rasterizes all page data and sends page information and print control parameters to the page printer. By utilizing a high performance microprocessor on the host computer, the page image can be rasterized faster than letting the lower performance printer rasterize the image. Control of the printing process is provided by the host using logical channels over an IEEE 1284 compliant parallel port. Logical channels provide the means for page definition, page control and status gathering.
Some printing systems for personal desktop computers are designed to give the user valid printer status 100% of the time, even during idle time. Examples of such status include messages indicating out of paper, toner problems and the like. In order to provide valid status, the host accesses the printer through the I/O ports several time a second. This I/O port activity causes complications for computers with power management systems that monitor the I/O activity.
Power management typically uses an internal timer to determine when to engage the powers savings features. Each time the I/O port is accessed, the timer is reset. Consequently, with the port accessed several times a second, the power management is never allowed to engage, thus draining the batteries.
When communication fails between the host and the printer, such as when the printer is disconnected, the host continues to access the I/O port in an attempt to reconnect with the printer. Thus, even if the printer is not attached, the power management does not engage. Even if the user manually invokes the computer's power saver mode, problems may still arise. For example, many battery powered computer (as referred to as laptop computer, or just laptops) have a daily planner application with an alarm feature. The alarm feature "wakes" the laptop computer out of the power saver mode to notify the user of an impending appointment. Once the laptop computer is "awake", the printing systems starts to access the I/O port either gathering status, or trying to connect to the printer. As described above, the constant I/O port activity prevents the power management from placing the laptop in a power saving mode. After a period of time, the batteries are drained.
One method of preventing the I/O port access, and thereby avoiding the power save problems, requires that the user change the logical port connection from "LPTx" to "FILE". However, this kind of solution is not attractive because it requires that the user make the change each time they desire the power save feature to operate. Additionally, it requires the user reverse the change prior to printing.
The Advanced Power Management (APM) specification attempts to standardize power management implementation. While many computer manufactures use APM, implementations still differ enough that the declaration of APM compliance is no guarantee that one computer behaves that same as another with regard to power management.